The rise of smartphones and other mobile devices is enormous. It is estimated over 1.5 billion such devices have been sold by the end of 2013. Smartphones and other mobile devices are ubiquitous, especially thanks to the huge variety of applications (“apps”) offered for these devices. For almost any application or field there is a multitude of apps to make life easier, entertain people or provide an otherwise useful service.
Owners of mobile devices can carry out communication and services with each other, or with automated services, using these applications. For example, one may chat with others, send and retrieve e-mail, transmit files, play games, manage social networking, receive information such as weather updates or carry out financial transactions with one another, potentially also through third parties like the game service provider, social network server or bank. These communications require certain underlying technical communication protocols.
A technical challenge with any such communication protocol is selecting the right party to communicate with. While many technical solutions exist, these are often technically complex or require prior registration of clients so as to be certain that the right entity is being communicated with. For example websites may initiate a Secure Socket Layer security protocol to secure the communication with a client. Users may be requested to log into a service to authenticate themselves before they can communicate with other users, as in chatboxes and online forums. In the context of device to device communication, the Bluetooth protocol requires two devices to be ‘paired’ with each other, involving the entry of a four-digit PIN in each device so as to recognize the other device. Other protocols may require each client device to authenticate itself with a password or PIN to the server. This is perceived by users as cumbersome.
International patent application WO2004112343 provides a method in a user computing device for presenting dialogs in a set of computing devices including the user computing device. Responsive to a request to present a dialog, computing devices within the set of computing devices in a selected proximity of the user computing device are identified to form a set of proximate computing devices. The dialog is presented on only one of the user computer device and the set of proximate computing devices based on a policy. This policy is however set manually, which is cumbersome and not flexible enough.
This cumbersomeness is particularly present when two devices are close to one another. In that context, users see little reason for complex pairing or authentication protocols. If they can see they are close, or talk to each other with ease, then why should communicating through their phones be complex?
This complexity often turns out to be related to a needless drive for perfection. For example, to determine if two devices are in proximity, it is logical to take the GPS locations of both devices and calculate the length of a straight line between them. However, as it is well known that GPS locations are inaccurate, first the measured coordinates need to be corrected. To this end, a skilled person would first apply a correction based on an inaccuracy of the GPS measurement to arrive at estimated coordinates for both devices, and then calculate the length of the line between them. For other location determination techniques similar problems may exist. All location determination techniques are to a certain extent inaccurate, and further steps will need to be taken to create a more accurate location determination.
While this is a correct approach, the inventors of the present invention have realized a simpler approach is possible in the situation where no more is needed than a determination if two devices are in proximity of each other. The technical problem therefore is determine more efficiently if two devices are in proximity of each other given inaccurate measurements of their respective locations.